package mastermind.gui.controls;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;

/**
 * Diese Klasse Stellt ein leeres Container Element im Mastermin Design dar
 */
public class PanelUI extends Composite
{
	protected int	_radius;

	/**
	 * Erstellt ein neues PanelUI Objekt
	 * 
	 * @param parent
	 *            Eltern-Objekt, auf das das PanelUI Objekt plaziert wird
	 * @param style
	 *            Zus&auml;zliche Style Informationen
	 */
	public PanelUI(final Composite parent, int style)
	{
		super(parent, style);
		_radius = 20;
		this.setBackground(new Color(Display.getDefault(), new RGB(220, 150, 110)));

		this.addPaintListener(new PaintListener() {

			@Override
			public void paintControl(PaintEvent e)
			{
				e.gc.setBackground(parent.getBackground());
				e.gc.fillRectangle(0, 0, getBounds().width, getBounds().height);

				e.gc.setAntialias(SWT.ON);
				e.gc.setBackground(getBackground());
				e.gc.fillRoundRectangle(1, 1, getBounds().width - 2, getBounds().height - 2, _radius, _radius);

				e.gc.setLineWidth(2);
				e.gc.setForeground(new Color(Display.getDefault(), new RGB(150, 75, 0)));
				e.gc.drawRoundRectangle(1, 1, getBounds().width - 2, getBounds().height - 2, _radius, _radius);

			}
		});
	}

}
